首页 > 试题广场 >

小红的最小三角形周长

[编程题]小红的最小三角形周长
  • 热度指数:941 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红拿到了一个数组,她希望取其中的三个数,使得以这三个数为边长的三角形周长尽可能小。你能帮帮她吗?


数据范围 ,
注意:输入数据中保证至少能形成一个三角形

示例1

输入

[2,8,4,11,9]

输出

19
class Solution:
    def hongstriangle(self , nums: List[int]) -> int:
        # write code here
        len1=len(nums)
        nums=sorted(nums)
        res=0
        i0,j0,k0=len1,len1,len1
        for i in range(len1):
            for j in range(i+1,len1):
                for k in range(j+1,len1):
                    if nums[i]+nums[j]>nums[k] :
                        if res>nums[i]+nums[j]+nums[k] or res==0:
                            res=nums[i]+nums[j]+nums[k] 
                            i0,j0,k0=nums[i],nums[j],nums[j]
                    else:
                        break
                if nums[i]>=j0 and nums[j]>=k0:break
            if nums[i]>=k0:break             
        return res
发表于 2022-09-03 16:22:37 回复(0)

问题信息

难度:
1条回答 2456浏览

热门推荐

通过挑战的用户

查看代码